{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Minimize beamwidth of an array with arbitrary 2-D geometry\n",
    "\n",
    "A derivative work by Judson Wilson, 5/14/2014.<br>\n",
    "Adapted (with significant changes) from the CVX example of the same name, by Almir Mutapcic, 2/2/2006.\n",
    "\n",
    "\n",
    "Topic References:\n",
    "\n",
    "* \"Convex optimization examples\" lecture notes (EE364) by S. Boyd\n",
    "* \"Antenna array pattern synthesis via convex optimization\" by H. Lebret and S. Boyd\n",
    "\n",
    "## Introduction\n",
    "\n",
    "This algorithm designs an antenna array such that:\n",
    "\n",
    "* it has unit sensitivity at some target direction  \n",
    "* it obeys a constraint on a minimum sidelobe level outside the beam\n",
    "* it minimizes the beamwidth of the pattern.\n",
    "\n",
    "This is a quasiconvex problem. Define the target direction as $\\theta_{\\mbox{tar}}$, and a beamwidth of $\\Delta \\theta_{\\mbox{bw}}$. The beam occupies the angular interval\n",
    "\n",
    "$$\\Theta_b = \\left(\\theta_{\\mbox{tar}}\n",
    "-\\frac{1}{2}\\Delta \\theta_{\\mbox{bw}},\\; \\theta_{\\mbox{tar}} \n",
    "+ \\frac{1}{2}\\Delta \\theta_{\\mbox{bw}}\\right).\n",
    "$$\n",
    "\n",
    "Solving for the minimum beamwidth $\\Delta \\theta_{\\mbox{bw}}$ is performed by bisection, where the interval which contains the optimal value is bisected  according to the result of the following feasibility problem:\n",
    "\n",
    "\\begin{array}{ll}\n",
    "\\mbox{minimize}   &  0 \\\\\n",
    "\\mbox{subject to} & y(\\theta_{\\mbox{tar}}) = 1 \\\\\n",
    "                  &  \\left|y(\\theta)\\right| \\leq t_{\\mbox{sb}} \n",
    "                         \\quad \\forall \\theta \\notin \\Theta_b.\n",
    "\\end{array}\n",
    "    \n",
    "$y$ is the antenna array gain pattern (a complex-valued function), $t_{\\mbox{sb}}$ is the maximum allowed sideband gain threshold, and the variables are $w$ (antenna array weights or shading coefficients). The gain pattern is a linear function of $w$: $y(\\theta) = w^T a(\\theta)$ for some $a(\\theta)$ describing the antenna array configuration and specs.\n",
    "\n",
    "Once the optimal beamwidth is found, the solution $w$ is refined with the following optimization:\n",
    "\n",
    "\\begin{array}{ll}\n",
    "\\mbox{minimize}   &  \\|w\\| \\\\\n",
    "\\mbox{subject to} & y(\\theta_{\\mbox{tar}}) = 1 \\\\\n",
    "                  & \\left|y(\\theta)\\right|  \\leq t_{\\mbox{sb}}\n",
    "                          \\quad \\forall \\theta \\notin \\Theta_b.\n",
    "\\end{array}\n",
    "\n",
    "The implementation below discretizes the angular quantities and their counterparts, such as $\\theta$.\n",
    "\n",
    "## Problem specification and data\n",
    "\n",
    "### Antenna array selection\n",
    "\n",
    "Choose either:\n",
    "\n",
    "* A random 2D positioning of antennas.\n",
    "* A uniform 1D positioning of antennas along a line.\n",
    "* A uniform 2D positioning of antennas along a grid."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "import cvxpy as cvx\n",
    "import numpy as np\n",
    "\n",
    "# Select array geometry:\n",
    "ARRAY_GEOMETRY = '2D_RANDOM'\n",
    "#ARRAY_GEOMETRY = '1D_UNIFORM_LINE'\n",
    "#ARRAY_GEOMETRY = '2D_UNIFORM_LATTICE'"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Data generation"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "#\n",
    "# Problem specs.\n",
    "#\n",
    "lambda_wl = 1         # wavelength\n",
    "theta_tar = 60        # target direction\n",
    "min_sidelobe = -20    # maximum sidelobe level in dB\n",
    "\n",
    "max_half_beam = 50    # starting half beamwidth (must be feasible)\n",
    "\n",
    "#\n",
    "# 2D_RANDOM: \n",
    "#     n randomly located elements in 2D.\n",
    "#\n",
    "if ARRAY_GEOMETRY == '2D_RANDOM':\n",
    "    # Set random seed for repeatable experiments.\n",
    "    np.random.seed(1)\n",
    "    # Uniformly distributed on [0,L]-by-[0,L] square.\n",
    "    n = 36\n",
    "    L = 5\n",
    "    loc = L*np.random.random((n,2))\n",
    "\n",
    "#\n",
    "# 1D_UNIFORM_LINE:\n",
    "#     Uniform 1D array with n elements with inter-element spacing d.\n",
    "#\n",
    "elif ARRAY_GEOMETRY == '1D_UNIFORM_LINE':\n",
    "    n = 30\n",
    "    d = 0.45*lambda_wl\n",
    "    loc = np.hstack(( d * np.matrix(range(0,n)).T, \\\n",
    "                          np.zeros((n,1)) ))\n",
    "\n",
    "#\n",
    "# 2D_UNIFORM_LATTICE:\n",
    "#     Uniform 2D array with m-by-m element with d spacing.\n",
    "#\n",
    "elif ARRAY_GEOMETRY == '2D_UNIFORM_LATTICE':\n",
    "    m = 6\n",
    "    n = m**2\n",
    "    d = 0.45*lambda_wl\n",
    "\n",
    "    loc = np.matrix(np.zeros((n, 2)))\n",
    "    for x in range(m):\n",
    "        for y in range(m):\n",
    "            loc[m*y+x,:] = [x,y]\n",
    "    loc = loc*d\n",
    "\n",
    "else:\n",
    "    raise Exception('Undefined array geometry')\n",
    "\n",
    "\n",
    "#\n",
    "# Construct optimization data.\n",
    "#\n",
    "\n",
    "# Build matrix A that relates w and y(theta), ie, y = A*w.\n",
    "theta = np.mat(range(1, 360+1)).T\n",
    "A = np.kron(np.cos(np.pi*theta/180), loc[:, 0].T) \\\n",
    "  + np.kron(np.sin(np.pi*theta/180), loc[:, 1].T)\n",
    "A = np.exp(2*np.pi*1j/lambda_wl*A)\n",
    "\n",
    "# Target constraint matrix.\n",
    "ind_closest = np.argmin(np.abs(theta - theta_tar))\n",
    "Atar = A[ind_closest,:]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Solve using bisection algorithm"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "We are only considering integer values of the half beam-width\n",
      "(since we are sampling the angle with 1 degree resolution).\n",
      "\n",
      "Problem is feasible for half beam-width = 26.0 degress\n",
      "Problem is feasible for half beam-width = 14.0 degress\n",
      "Problem is not feasible for half beam-width = 8.0 degress\n",
      "Problem is feasible for half beam-width = 11.0 degress\n",
      "Problem is feasible for half beam-width = 10.0 degress\n",
      "Problem is feasible for half beam-width = 9.0 degress\n",
      "Optimum half beam-width for given specs is 9.0\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "2.0349662336792678"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Bisection range limits. Reduce by half each step.\n",
    "halfbeam_bot = 1\n",
    "halfbeam_top = max_half_beam\n",
    "\n",
    "print 'We are only considering integer values of the half beam-width'\n",
    "print '(since we are sampling the angle with 1 degree resolution).'\n",
    "print\n",
    "\n",
    "# Iterate bisection until 1 angular degree of uncertainty.\n",
    "while halfbeam_top - halfbeam_bot > 1:\n",
    "    # Width in degrees of the current half-beam.\n",
    "    halfbeam_cur = np.ceil( (halfbeam_top + halfbeam_bot)/2.0 )\n",
    "\n",
    "    # Create optimization matrices for the stopband,\n",
    "    # i.e. only A values for the stopband angles.\n",
    "    ind = np.nonzero(np.squeeze(np.array(np.logical_or( \\\n",
    "               theta <= (theta_tar-halfbeam_cur), \\\n",
    "               theta >= (theta_tar+halfbeam_cur) ))))\n",
    "    As = A[ind[0],:]\n",
    "    \n",
    "    #\n",
    "    # Formulate and solve the feasibility antenna array problem.\n",
    "    #\n",
    "\n",
    "    # As of this writing (2014/05/14) cvxpy does not do complex valued math,\n",
    "    # so the real and complex values must be stored seperately as reals\n",
    "    # and operated on as follows:\n",
    "    #     Let any vector or matrix be represented as a+bj, or A+Bj.\n",
    "    #     Vectors are stored [a; b] and matrices as [A -B; B A]:\n",
    "    \n",
    "    # Atar as [A -B; B A]\n",
    "    Atar_R = Atar.real\n",
    "    Atar_I = Atar.imag\n",
    "    neg_Atar_I = -Atar_I\n",
    "    Atar_RI = np.bmat('Atar_R neg_Atar_I; Atar_I Atar_R')\n",
    "\n",
    "    # As as [A -B; B A]\n",
    "    As_R = As.real\n",
    "    As_I = As.imag\n",
    "    neg_As_I = -As_I\n",
    "    As_RI = np.bmat('As_R neg_As_I; As_I As_R')\n",
    "    As_RI_top = np.bmat('As_R neg_As_I')\n",
    "    As_RI_bot = np.bmat('As_I As_R')\n",
    "\n",
    "    # 1-vector as [1; 0] since no imaginary part\n",
    "    realones_ri = np.mat( np.vstack( \\\n",
    "                     (np.ones(Atar.shape[0]),\n",
    "                      np.zeros(Atar.shape[0])) ))\n",
    "\n",
    "    # Create cvxpy variables and constraints\n",
    "    w_ri = cvx.Variable(2*n)\n",
    "    constraints = [ Atar_RI*w_ri == realones_ri]\n",
    "    # Must add complex valued constraint \n",
    "    # abs(As*w <= 10**(min_sidelobe/20)) row by row by hand.\n",
    "    # TODO: Future version use norms() or complex math\n",
    "    # when these features become available in cvxpy.\n",
    "    for i in range(As.shape[0]):\n",
    "        #Make a matrix whos product with w_ri is a 2-vector\n",
    "        #which is the real and imag component of a row of As*w\n",
    "        As_ri_row = np.vstack((As_RI_top[i, :], As_RI_bot[i, :]))\n",
    "        constraints.append( \\\n",
    "                cvx.norm(As_ri_row*w_ri) <= 10**(min_sidelobe/20) )\n",
    "\n",
    "    # Form and solve problem.\n",
    "    obj = cvx.Minimize(0)\n",
    "    prob = cvx.Problem(obj, constraints)\n",
    "    prob.solve(solver=cvx.CVXOPT)\n",
    "\n",
    "    # Bisection (or fail).\n",
    "    if prob.status == cvx.OPTIMAL:\n",
    "        print ('Problem is feasible for half beam-width = {}'\n",
    "               ' degress').format(halfbeam_cur)\n",
    "        halfbeam_top = halfbeam_cur\n",
    "    elif prob.status == cvx.INFEASIBLE:\n",
    "        print ('Problem is not feasible for half beam-width = {}'\n",
    "               ' degress').format(halfbeam_cur)\n",
    "        halfbeam_bot = halfbeam_cur\n",
    "    else:\n",
    "        raise Exception('CVXPY Error')\n",
    "\n",
    "# Optimal beamwidth.\n",
    "halfbeam = halfbeam_top\n",
    "print 'Optimum half beam-width for given specs is {}'.format(halfbeam)\n",
    "\n",
    "# Compute the minimum noise design for the optimal beamwidth\n",
    "ind = np.nonzero(np.squeeze(np.array(np.logical_or( \\\n",
    "                theta <= (theta_tar-halfbeam), \\\n",
    "                theta >= (theta_tar+halfbeam) ))))\n",
    "As = A[ind[0],:]\n",
    "\n",
    "# As as [A -B; B A]\n",
    "# See earlier calculations for real/imaginary representation\n",
    "As_R = As.real\n",
    "As_I = As.imag\n",
    "neg_As_I = -As_I\n",
    "As_RI = np.bmat('As_R neg_As_I; As_I As_R')\n",
    "As_RI_top = np.bmat('As_R neg_As_I')\n",
    "As_RI_bot = np.bmat('As_I As_R')\n",
    "\n",
    "constraints = [ Atar_RI*w_ri == realones_ri]\n",
    "# Same constraint as a above, on new As (hense different\n",
    "# actual number of constraints). See comments above.\n",
    "for i in range(As.shape[0]):\n",
    "    As_ri_row = np.vstack((As_RI_top[i, :], As_RI_bot[i, :]))\n",
    "    constraints.append( \\\n",
    "        cvx.norm(As_ri_row*w_ri) <= 10**(min_sidelobe/20) )\n",
    "\n",
    "# Form and solve problem.\n",
    "# Note the new objective!\n",
    "obj = cvx.Minimize(cvx.norm(w_ri))\n",
    "prob = cvx.Problem(obj, constraints)\n",
    "prob.solve(solver=cvx.SCS)\n",
    "\n",
    "#if prob.status != cvx.OPTIMAL:\n",
    "#    raise Exception('CVXPY Error')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Result plots"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\nAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x110175f90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\nQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1171e5d90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\np33pAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x115528e50>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "\n",
    "# Show plot inline in ipython.\n",
    "%matplotlib inline\n",
    "\n",
    "# Plot properties.\n",
    "plt.rc('text', usetex=True)\n",
    "plt.rc('font', family='serif')\n",
    "\n",
    "#\n",
    "# First Figure: Antenna Locations\n",
    "#\n",
    "plt.figure(figsize=(6, 6))\n",
    "plt.scatter(np.array(loc[:, 0]), np.array(loc[:, 1]), \\\n",
    "            s=30, facecolors='none', edgecolors='b')\n",
    "plt.title('Antenna Locations', fontsize=16)\n",
    "plt.tight_layout()\n",
    "plt.show()\n",
    "\n",
    "#\n",
    "# Second Plot: Array Pattern\n",
    "#\n",
    "\n",
    "# Complex valued math to calculate y = A*w_im;\n",
    "# See comments in code above regarding complex representation as reals.\n",
    "A_R = A.real\n",
    "A_I = A.imag\n",
    "neg_A_I = -A_I\n",
    "A_RI = np.bmat('A_R neg_A_I; A_I A_R');\n",
    "\n",
    "y = A_RI*w_ri.value\n",
    "y = y[0:y.shape[0]/2] + 1j*y[y.shape[0]/2:] #now native complex\n",
    "\n",
    "plt.figure(figsize=(6,6))\n",
    "ymin, ymax = -40, 0\n",
    "plt.plot(np.arange(360)+1, np.array(20*np.log10(np.abs(y))))\n",
    "plt.plot([theta_tar, theta_tar], [ymin, ymax], 'g--')\n",
    "plt.plot([theta_tar+halfbeam, theta_tar+halfbeam], [ymin, ymax], 'r--')\n",
    "plt.plot([theta_tar-halfbeam, theta_tar-halfbeam], [ymin, ymax], 'r--')\n",
    "plt.xlabel('look angle', fontsize=16)\n",
    "plt.ylabel(r'mag $y(\\theta)$ in dB', fontsize=16)\n",
    "plt.ylim(ymin, ymax)\n",
    "\n",
    "plt.tight_layout()\n",
    "plt.show()\n",
    "\n",
    "#\n",
    "# Third Plot: Polar Pattern\n",
    "#\n",
    "plt.figure(figsize=(6,6))\n",
    "zerodB = 50\n",
    "dBY = 20*np.log10(np.abs(y)) + zerodB\n",
    "plt.plot(np.array(dBY)*np.array(np.cos(np.pi*theta/180)), \\\n",
    "         np.array(dBY)*np.array(np.sin(np.pi*theta/180)))\n",
    "plt.xlim(-zerodB, zerodB)\n",
    "plt.ylim(-zerodB, zerodB)\n",
    "plt.axis('off')\n",
    "\n",
    "# 0 dB level.\n",
    "plt.plot(zerodB*np.array(np.cos(np.pi*theta/180)), \\\n",
    "         zerodB*np.array(np.sin(np.pi*theta/180)), 'k:')\n",
    "plt.text(-zerodB,0,'0 dB', fontsize=16)\n",
    "# Max sideband level.\n",
    "m=min_sidelobe + zerodB\n",
    "plt.plot(m*np.array(np.cos(np.pi*theta/180)), \\\n",
    "         m*np.array(np.sin(np.pi*theta/180)), 'k:') \n",
    "plt.text(-m,0,'{:.1f} dB'.format(min_sidelobe), fontsize=16)\n",
    "#Lobe center and boundaries angles.\n",
    "theta_1 = theta_tar+halfbeam\n",
    "theta_2 = theta_tar-halfbeam\n",
    "plt.plot([0, 55*np.cos(theta_tar*np.pi/180)], \\\n",
    "         [0, 55*np.sin(theta_tar*np.pi/180)], 'k:')\n",
    "plt.plot([0, 55*np.cos(theta_1*np.pi/180)], \\\n",
    "         [0, 55*np.sin(theta_1*np.pi/180)], 'k:')\n",
    "plt.plot([0, 55*np.cos(theta_2*np.pi/180)], \\\n",
    "         [0, 55*np.sin(theta_2*np.pi/180)], 'k:')\n",
    "\n",
    "#Show plot.\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
